The present invention relates to data transmission systems and, in particular, to channel coding in such systems.
Much attention has been focused in recent years on channel codes which provide so-called coding gain. Prominent among these are the so-called "trellis" codes described in such papers as G. Ungerboeck, "Channel Coding With Multilevel/Phase Signals," IEEE Trans. Informaton Theory, IT-28, 1982, pages 55-67; A. R. Calderbank and N. J. A. Sloane, "A New Family of Codes for Dial-Up Voice Lines," Proc. IEEE Global Telecomm. Conf., November 1984, pages 20.2.1-20.2.4; A. R. Calderbank and N. J. A. Sloane, "Four-Dimensional Modulation With an Eight-State Trellis Code," AT&T Technical Journal, Vol. 64, No. 5, May-June 1985, pages 1005-1018; A. R. Calderbank and N. J. A. Sloane, "An Eight-Dimensional Trellis Code," Proc. IEEE, Vol. 74, No. 5, May 1986, pages 757-759; and L.-F. Wei, "Rotationally Invariant Convolutional Channel Coding With Expanded Signal Space-Part I: 180 Degrees and Part II: Nonlinear Codes," IEEE J.Select.Areas Commun., Vol. SAC-2, September 1984, pages 659-686, all of which are hereby incorporated by reference.
In typical known trellis coding arrangements, n of the bits of each of a succession of (k+n)-bit input words are applied to a so-called trellis coder which, in turn, selects one of a plurality of 2.sup.m.sub.k subsets of the signalling constellation, wherein m&gt;n. Each subset contains 2.sup.k signalling points and the other k bits, referred to herein as the non-trellis-coded bits, are used to identify a particular one of the 2.sup.k points in the selected subset as the signal point to be communicated to the receiver. So-called Viterbi decoding is then used in the receiver to recover the most likely sequence of transmitted signal points and, in turn, the (k+n)-bit input words.
Conventional block coding would require a constellation of 2.sup.(k+n) signal points to transmit the (k+n)-bit input words. By contrast, as can be seen from the foregoing, trellis coding requires a larger constellation of 2.sup.(k+m) signal points. However, in exchange for this redundancy, a trellis code, if properly designed, will provide an increase over block coding in the minimum distance between signal points communicated to the receiver. This increase, when normalized by the average transmitted signal power, is referred to as the "coding gain" which manifests itself in the form of enhanced immunity to such random channel impairments as additive noise.
For the most part, work in the trellis coding arena has concentrated on the transmission of trellis-coded data over channels whose principal impairment is additive noise. There is, however, a class of channels having a so-called partial response characteristic which operates on the transmitted signal in such a way that each received signal pulse is a function of not only the signal pulses generated during the present baud, or signalling, interval, but also at least one signal pulses generated during at least one previous signalling interval. For example, the so-called (1-D) partial response channel delivers a signal each of whose pulses is equal to the difference of two consecutive transmitted pulses. Such a received signal can be decoded at the receiver using conventional techniques, such as Viterbi decoding, but such decoding, disadvantageously, is relatively complex.